// 发送请求
import axios from "axios";
import { token } from "./token";

let isApp = false; // 是否要打包成app
// isApp = true; // 是否要打包成app, [因为app内不会有跨域问题, 所以需要直接加上url前面部分]

// 设置全局的put请求的内容类型为text
// axios.defaults.headers.put['Content-Type'] = 'text/plain';
// const urlHead = isApp
//   ? "https://game-two-1310591936.cos.ap-nanjing.myqcloud.com"
//   : ""; // 请求路径的 协议,主机,端口 部分
const urlHead = "https://game-two-1310591936.cos.ap-nanjing.myqcloud.com"; // 请求路径的 协议,主机,端口 部分

const request = axios.create(); // 创建一个axios的实例
// 响应拦截
request.interceptors.response.use(function (resp) {
  // console.log("响应结果:", resp.status);
  // console.log("\n", resp); // 上传前注释掉
  if (resp.status !== 200) {
    // alert("请求失败");
    return null;
  }
  return resp;
});
// 添加请求拦截器
request.interceptors.request.use(function (config) {
  let Authorization;
  // console.log(config.method, "请求:", config.url);
  // console.log("\n", config); // 上传前注释掉
  // get请求
  if (config.method === "get") {
    if (config.url === "/data/version.json") {
      // 访问/data/version.json 签名有效期为300天左右, 2022.9.24
      Authorization = token.get.version;
    } else if (config.url === "/data/users.json") {
      // 访问/data/users.json 签名有效期为300天左右, 2022.9.24
      Authorization = token.get.users;
    } else if (config.url === "/data/ranking.json") {
      // 访问/data/ranking.json 签名有效期为300天左右, 2022.9.24
      Authorization = token.get.ranking;
    }
  }
  // put请求
  if (config.method === "put") {
    // config.headers["Content-Type"] = "text/plain"; // put则把内容类型改为text
    if (config.url === "/data/users.json") {
      // 上传/data/users.json 签名有效期为300天左右, 2022.9.24
      Authorization = token.put.users;
    } else if (config.url === "/data/ranking.json") {
      // 访问/data/ranking.json 签名有效期为300天左右, 2022.9.24
      Authorization = token.put.ranking;
    }
  }
  if (Authorization) {
    config.headers.Authorization = Authorization;
  }
  return config; // 返回处理后的配置
});

export { request, urlHead };
